; QRNxt@}`̉]
; A 16 Ɋi[ 16 ~ 16 hbg̔̐}`C
; v 90 x] vO ROTATE łB
; }`̉]̎s}PɎB
; ̂ƂCPhbgPrbg \C
; ͂OC͂Pi[ĂB
;----------------------------------
;}`̖̂Ƃ́ACASL2 Visible Inside
;ݒύXƂւ킩₷
;̂\ɂȂ܂BCj
;u\v--> u\X^C̑Iv
;--> ü̕\X^Cv
;ۂ̕\X^CɕύX܂B
;̌AZu܂B
;ZUKEÏɊ́u܁v܂B
;sƃKAITENZ̈ɁA
;XOxE]́u܁v܂B
;ۂ̓[rbgAۂ͂Prbg\Ă܂B
;----------------------
; (1) }`\ 16 ̐擪AhX GR1 ɐݒ肳āC
;     vOnB
;----------
;(2) ]ʂ̐}`i[̈̐擪AhX
;    GR2 ɐݒ肳āC vOnB
;----------
ROTATE  START
	LAD GR1,ZUKEI
	LAD GR2,KAITENZK
;-----------
	RPUSH
  LD GR3,=8 ; 168ɕύX
;LOOP1 LD GR4,=16
;------------------------
	ST     GR3,N          ; n ۑ
   LD     GR4,GR3        ; GR4  n
   LD     GR5,GR1        ; GR5  ̐}`̃AhX
   LD     GR6,GR2        ; GR6  ʂ̗̈̃AhX
   LD     GR7,=16
   SUBA   GR7,GR3        ; GR7  16-n
SHIFT LD  GR0,0,GR5      ; GR0  ̐}`̂P̓e
	SLL 	 GR0,0,GR3
	 ST     GR0,0,GR6      ; ʂ̗̈  GR0
   LAD    GR5,1,GR5      ; ̐}`̂P̃AhXXV
   LAD    GR6,1,GR6      ; ʂ̗̈̂P̃AhXXV
   SUBA   GR4,=1         ; n ꏈς݁H
   JNZ    SHIFT
COPY	SUBA   GR7,=1      ; č̓eʂ̗̈ɕ
	JMI LOOP1
	LD     GR0,0,GR5
   ST     GR0,0,GR6
   LAD    GR5,1,GR5
   LAD    GR6,1,GR6
   JUMP   COPY
;N      DS     1 ; END߂̒OɈړB
LOOP1  LD     GR4,N
;------------------------------------
	LD GR5,GR2
; GR5  ʂ̗̈̃AhX
	LD GR6,0,GR1
; GR6  ̐}`̐擪̓e
LOOP2 LD  GR7,0,GR5
; GR7  ʂ̗̈̂P̓e
	SRL    GR7,1
;+++++++++++++++++++++++++++++
  SLL    GR6,1 ;ύXO̍s
;	SRL GR6,1 ;ύX̍s
;+++++++++++++++++++++++++++++
  JOV    ON
  JUMP   CONT
ON   OR GR7,=#8000
CONT ST GR7,0,GR5
; Pʂ̗̈Ɋi[
	LAD GR5,1,GR5
	SUBA   GR4,=1
  JNZ    LOOP2
	LAD	GR1,1,GR1
  SUBA   GR3,=1
  JNZ    LOOP1
  RPOP
  RET
ZUKEI DC #FFFC
	DC #FFFC
	DC #FFFC
	DC #0700
	DC #0700
	DC #0700
	DC #FFFC
	DC #FFFC
	DC #FFFC
	DC #071C
	DC #071C
	DC #071C
	DC #FFFF
	DC #FFFF
	DC #FFFF
	DC #0000
KAITENZK DS 16
N      DS     1
  END
